﻿using System;

namespace Utils.liangshui.time
{
    public class TimeUtils
    {
        
        /// <summary>
        /// 传递进来的时间，函数内部会将其转换成UTC时间
        /// 计算时间戳要求使用的时间是 utc时间，要求用utc时间 - utc的1970年1月1日0时0分0秒的时间
        /// </summary>
        /// <param name="dateTime">本地时间</param>
        /// <returns></returns>
        public static long getTimeStamp(ref DateTime dateTime)
        {
            TimeSpan timeSpan = dateTime.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            Console.WriteLine($"{timeSpan.TotalSeconds}");
            return Convert.ToInt64(timeSpan.TotalSeconds);
        }

        public static long getTimeStamp()
        {
            DateTime dateTime = DateTime.Now;
            return getTimeStamp(ref dateTime);
        }

        public static DateTime getDateTime(long timestamp)
        {
            DateTime startTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
            DateTime dateTime = startTime.AddSeconds(timestamp);
            return dateTime.ToLocalTime();
        }
    }
}